Representing Exceptional Behaviour at the earlier Phases of Software Development
نویسنده
چکیده
Exception handling is a structuring technique that facilitates the design of systems by encapsulating the process of error recovery. Exception handling has been traditionally associated with the design phase of the software lifecycle, during which all the effort is made to protect the application software from faults that may be introduced during requirements, design, and implementation, or can occur at the support level. The consequence of such approach is that the appropriate context in which errors should be detected and recovered is lost also it is lost the potential correlation that might exist between the error states of the different contexts and how these should be recovered in an optimised way. Dealing with concurrent manifestations of several faults at different phases of system development has been recognised as a serious problem that has not received enough attention /Avizienes 97/. Ideally, for each identified phase of the software lifecycle, a class of exceptions should be defined depending on the abstraction level (or context) of the software system being modelled and analysed, as represented in figure 1. As the software development progresses, new exceptions are identified and their respective handlers specified. However, the exceptions identified at the different phases can be causally and timely related, which might constraint the specification of their respective handlers. Moreover, it might be the case that the rationalisation of exceptions might enable the usage of a single handler for different classes of exceptions. At every phase of the software development failure assumptions have to be revised once the system structure is decomposed and behaviour refined. This process of revising failure assumptions, as we progress through the software lifecycle, might also lead to the refinement of the exceptions and handlers previously specified. Instead of assuming that exception handling should be restricted to the later phases of software development, recent work has attempted to provide systematic and effective approaches on how to deal with exception handling at all phases of the software lifecycle. These approaches provide a stepwise method for defining exceptions and their respective handlers, thus eliminating the ad hoc way in which exception handling is sometimes considered during the later phases of the software lifecycle. In one of these works, the description of exceptional behaviour within the software lifecycle is supported by a cooperative object-oriented approach that allows the representation of collaborative behaviour between objects at different phases of the software development /de Lemos 99/. In a …
منابع مشابه
Handling in a Cooperative Object - Oriented Approach
A Cooperation Oriented Action (CO action) is a modelling abstraction for representing collaborative behaviour between objects at different phases of the software development. In this paper, the original definition of a cooperative object-oriented approach for software development is extended in order to include the description of exceptional behaviour. Unlike the traditional methods that usuall...
متن کاملSimulation and Validation of Component-based Automotive Control Software
The validation of functional and real-time requirements of automotive control software usually needs the electronic control unit and the controlled hardware components. But very often, the electronic control unit and the hardware components are not available for testing the automotive control software in the early development phases. This paper presents a validation process for component-based ...
متن کاملOperational semantics of goal models in adaptive agents
Several agent-oriented software engineering methodologies address the emerging challenges posed by the increasing need of adaptive software. A common denominator of such methodologies is the paramount importance of the concept of goal model in order to understand the requirements of a software system. Goal models consist of goal graphs representing AND/OR-decomposition of abstract goals down to...
متن کاملDevelopment of Chalcolithic Phases in Gilund through Ceramic Chronology
This paper deals with pottery assemblage from the chalcolithic phase of the site of Gilund in Rajsamand district ofRajasthan. Though pottery from this site has been studied earlier (Shinde et al 2002), however there was no literatureavailable on the ceramic chronology of Gilund with layers ascertained to it. This paper tries to build up a ceramicchronology in the site in order to indentify diff...
متن کاملSAABNet: Managing Qualitative Knowledge in Software Architecture Assessment
At any phase in the development process, the process can shift back to an earlier phase. If, for instance, during testing a design flaw is discovered, the design phase and consequently also the phases after that need to be repeated. These types of setbacks in the software development process can be costly, especially if radical changes in the earlier phases (triggering even more radical changes...
متن کامل